<!DOCTYPE html>
<html>
<head>
    <title>聊天室</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="/css/bootstrap.min.css">
    <style>
        body {
            padding: 20px;
            background-color: #f4f4f9;
            font-family: Arial, sans-serif;
        }
    </style>
    <style>
        .chat-container {
            display: flex;
            width: 100%;
            max-width: 800px; /* 最大宽度限制 */
            border: 1px solid #ccc;
            border-radius: 10px;
            overflow: hidden;
        }

        #chatArea {
            flex: 1; /* 让聊天区域占满剩余空间 */
            padding: 10px;
            overflow-y: auto;
            height: 400px; /* 高度限制 */
            border-right: 1px solid #ccc; /* 聊天区右侧边框 */
        }

        #userList {
            width: 20%; /* 占总宽度的20% */
            max-width: 110px; /* 最大宽度限制 */
            padding: 10px;
            background-color: #f8f9fa; /* 玩家列表背景颜色 */
            height: 400px; /* 高度限制 */
            overflow-y: auto; /* 使其可滚动 */
        }

        /* 单条消息的布局 */
        .message {
            display: flex;
            align-items: flex-start;
            margin: 5px 0;
            border-radius: 5px;
            max-width: 100%; /* 允许消息内容使用整个宽度 */
        }

        /* 昵称作为头像 */
        .avatar {
            background-color: #007bff;
            color: white;
            border-radius: 50%;
            width: 30px;
            height: 30px;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 16px;
            text-transform: uppercase;
        }

        /* 自己发的消息整体对齐右边 */
        .mine {
            justify-content: flex-end;
            flex-direction: row-reverse; /* 反转排列顺序，消息内容在前，头像在后 */
            margin-left: auto; /* 确保消息块右对齐 */
            margin-right: 0; /* 清除右边的默认外边距 */
            width: fit-content; /* 限制消息块宽度为内容的实际宽度 */
        }

        /* 自己的消息块 */
        .mine-content {
            background-color: #e1f7d5; /* 自己发的消息背景色 */
            border-radius: 15px;
            padding: 8px 12px;
            max-width: 300px; /* 控制消息框的最大宽度 */
            word-wrap: break-word; /* 允许长消息换行 */
            text-align: left; /* 确保文本左对齐 */
        }

        /* 其他人发的消息整体对齐左边 */
        .other {
            justify-content: flex-start;
            margin-right: auto; /* 确保其他人发的消息左对齐 */
        }

        /* 其他人的消息块 */
        .other-content {
            background-color: #fff3cd; /* 其他人发的消息背景色 */
            border-radius: 15px;
            padding: 8px 12px;
            max-width: 300px;
            word-wrap: break-word;
            text-align: left; /* 确保文本左对齐 */
        }

        #messageInput {
            width: calc(100% - 100px); /* 自适应输入框 */
        }

        #userList .user-item {
            padding: 5px;
            margin-bottom: 5px;
            border-radius: 5px;
            background-color: #e9ecef;
        }

        /* 自己的玩家样式 */
        #userList .user-item.mine {
            background-color: #007bff;
            color: white;
        }
    </style>
    <script src="/js/protobuf.min.js"></script>
    <script src="/js/chat.js"></script>
</head>
<body>
<div class="container">
    <div class="chat-header">
        <h2>聊天室</h2>
        <div>
            <label for="nickname">昵称：</label>
            <input type="text" id="nickname" placeholder="请输入昵称" class="form-control d-inline-block w-auto"/>

            <label for="role">角色：</label>
            <div class="form-check form-check-inline">
                <input class="form-check-input" type="radio" id="host" name="role" value="host">
                <label class="form-check-label" for="host">主播</label>
            </div>
            <div class="form-check form-check-inline">
                <input class="form-check-input" type="radio" id="player" name="role" value="player" checked>
                <label class="form-check-label" for="player">玩家</label>
            </div>

            <button class="btn btn-primary" onclick="connect()">加入房间</button>
        </div>
    </div>

    <div class="chat-container">
        <div id="chatArea"></div>
        <div id="userList" class="alert alert-info"></div>
    </div>

    <input type="text" id="messageInput" placeholder="输入消息..." class="form-control"/>
    <button id="sendButton" class="btn btn-success mt-2" onclick="sendMessage()">发送</button>
</div>
</body>
</html>
